package cn.com.aisat.android.videoshow.db;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import cn.com.aisat.android.videoshow.data.TVMovieItem;

import android.util.Xml;

 
public class PullParseService {
	public static List<TVMovieItem> getBooks(InputStream inputStream) throws Exception{
		List<TVMovieItem> books = null;
		TVMovieItem book = null;
		XmlPullParser parser = Xml.newPullParser();
		parser.setInput(inputStream, "UTF-8");
		
		int event = parser.getEventType();//产生第一个事件
		while(event!=XmlPullParser.END_DOCUMENT){
			switch(event){
			case XmlPullParser.START_DOCUMENT://判断当前事件是否是文档开始事件
				books = new ArrayList<TVMovieItem>();//初始化books集合
				break;
			case XmlPullParser.START_TAG://判断当前事件是否是标签元素开始事件
				if("book".equals(parser.getName())){//判断开始标签元素是否是book
					book = new TVMovieItem();
				}
				if(book!=null){
					if("filepath".equals(parser.getName())){//判断开始标签元素是否是name
						book.setFilepath(parser.nextText());
					}else if("path".equals(parser.getName())){//判断开始标签元素是否是price
						book.setPath(parser.nextText());
					}else if("name".equals(parser.getName())){//判断开始标签元素是否是price
						book.setName(parser.nextText());
					}else if("imagepath".equals(parser.getName())){//判断开始标签元素是否是price
						book.setImagepath(parser.nextText());
					}else if("tv_show_tv_director".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_director(parser.nextText());
					}else if("tv_show_tv_starring".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_starring(parser.nextText());
					}else if("tv_show_tv_category".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_category(parser.nextText());
					}else if("tv_show_tv_language".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_language(parser.nextText());
					}else if("tv_show_tv_length".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_length(parser.nextText());
					}else if("tv_show_tv_picture".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_picture(parser.nextText());
					}else if("tv_show_tv_origin".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_origin(parser.nextText());
					}else if("tv_show_tv_capcity".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_capcity(parser.nextText());
					}else if("tv_show_tv_quantity".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_quantity(parser.nextText());
					}else if("tv_show_tv_content_desc".equals(parser.getName())){//判断开始标签元素是否是price
						book.setTv_show_tv_content_desc(parser.nextText());
					}else if("stars".equals(parser.getName())){//判断开始标签元素是否是price
						book.setStars(parser.nextText());
					}else if("count".equals(parser.getName())){//判断开始标签元素是否是price
						book.setCount(Integer.parseInt(parser.nextText()));
					}
				}
				break;
			case XmlPullParser.END_TAG://判断当前事件是否是标签元素结束事件
				if("book".equals(parser.getName())){//判断结束标签元素是否是book
					books.add(book);//将book添加到books集合
					book = null;
				}
				break;
			}
			event = parser.next();//进入下一个元素并触发相应事件
		}//end while
		return books;
	}
}
